1. Field of the Invention
The present invention relates to a nonvolatile semiconductor memory device for nonvolatilely writing data in accordance with application of a voltage to a variable resistive element.
2. Description of the Related Art
In recent years, attention has been focused on a nonvolatile memory comprising memory cells each containing a variable resistive element, which are connected at intersections of word lines and bit lines and arranged in matrix.
Known examples of the nonvolatile memory of such the type include: a PCRAM (Phase-Change Random Access Memory) that uses a chalcogenide element as the variable resistive element; a ReRAM (Resistance Random Access Memory) that uses a transition metal oxide element; and a CBRAM that changes the resistance by precipitating metal cations to form a bridge (conducting bridge) between electrodes and ionizing the precipitated metal to destruct the bridge. These variable resistive memories are characterized in that the variation in resistance is stored as information.
The PCRAM utilizes the shape, such as the magnitude and the width, of a current/voltage pulse applied to the chalcogenide element to control the process from heating to cooling, thereby causing a phase change between the crystalline state and the amorphous state to control the resistance of the element (see Patent Document 1: JP 2002-541613T). The ReRAM includes the bipolar type and the unipolar type. In the case of the bipolar type, the direction of the current/voltage pulse applied to the transition metal oxide element is used to control the resistance of the element. On the other hand, in the case of the unipolar type, the magnitude and the width of the current/voltage pulse applied to the transition metal oxide element are used to control the resistance of the element.
In the case of the ReRAM of the unipolar type, data can be programmed in a variable resistive memory by applying a program voltage of around 6.0 V to the variable resistive element for around 10 ns, thereby changing the variable resistive element from a high-resistance state to a low-resistance state. This state change is referred to as “program” or “set”. When an erase voltage of around 2.0 V is applied to the data-programmed variable resistive element and a flow of current of 1-10 μA is supplied for 200 ns to 1 μs, the variable resistive element is changed from the low-resistance state to the high-resistance state. This state change is referred to as “erase” or “reset”.
In setting for changing the high-resistance memory cell to the low-resistance state, when an application of the applied pulse is excessively longer, the memory cell once changed into the low-resistance state is again reset to the high-resistance state due to production of Joule heat as a problem. In resetting for changing the low-resistance memory cell to the high-resistance state, when the memory cell changes to the high-resistance state, the voltage regulator operative to generate the voltage of the applied pulse can not follow this speed. Thus, the supply of charge becomes excessive, the voltage of the applied pulse becomes higher, the controllability becomes worse, and the memory cell is returned again to the set state in the worst case as a problem.